package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.system.domain.SysRoleOrg;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;


/**
 * 角色与组织关系信息Service接口
 *
 * @author youde
 * @date 2022-11-16
 */
public interface ISysRoleOrgService {
    /**
     * 查询角色与组织关系信息
     *
     * @param roleOrgId 角色与组织关系信息主键
     * @return 角色与组织关系信息
     */
    public SysRoleOrg selectSysRoleOrgByRoleOrgId(String roleOrgId);

    /**
     * 查询角色与组织关系信息列表
     *
     * @param sysRoleOrg 角色与组织关系信息
     * @return 角色与组织关系信息集合
     */
    public Page<SysRoleOrg> selectSysRoleOrgList(SysRoleOrg sysRoleOrg, Pageable pageinfo);


    /**
     * 查询角色与组织关系信息列表
     *
     * @param sysRoleOrg 角色与组织关系信息
     * @return 角色与组织关系信息集合
     */
    public List<SysRoleOrg> selectSysRoleOrgList(SysRoleOrg sysRoleOrg);

    /**
     * 新增角色与组织关系信息
     *
     * @param sysRoleOrg 角色与组织关系信息
     * @return 结果
     */
    public SysRoleOrg[] insertSysRoleOrg(SysRoleOrg[] sysRoleOrg);

    /**
     * 修改角色与组织关系信息
     *
     * @param sysRoleOrg 角色与组织关系信息
     * @return 结果
     */
    public SysRoleOrg updateSysRoleOrg(SysRoleOrg sysRoleOrg);

    /**
     * 批量删除角色与组织关系信息
     *
     * @param roleOrgIds 需要删除的角色与组织关系信息主键集合
     * @return 结果
     */
    public void deleteSysRoleOrgByRoleOrgIds(String[] roleOrgIds);

    /**
     * 删除角色与组织关系信息信息
     *
     * @param roleOrgId 角色与组织关系信息主键
     * @return 结果
     */
    public void deleteSysRoleOrgByRoleOrgId(String roleOrgId);

    /**
     * 根据角色id查询关系的组织信息
     *
     * @param roleId
     * @return
     */
    public List<SysRoleOrg> findByRoleId(String roleId);

    /** 根据角色id删除分配的组织信息
     * @param roleId
     * @return
     */
    public int deleteByRoleId(String roleId);
}